package com.rc.saas.mini.model.recharge;
import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.rc.saas.mini.common.base.BaseModel;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * @Description 
 * @Author  
 * @Date: 2022-04-24
 */

@ApiModel(value=" recharge_order ", description=" 用户充值订单 ")
public class RechargeOrder extends BaseModel{ 

    @ApiModelProperty(value = "ID")
    private Long rechargeOrderId;
 
    @ApiModelProperty(value = "运营商")
    private String tenantCode;
 
    @ApiModelProperty(value = "会员ID")
    private Long memberId;
 
    @ApiModelProperty(value = "充值订单ID，退款订单包含该字段")
    private Long oldRechargeOrderId;
 
    @ApiModelProperty(value = "商户订单号(内部订单号)")
    private String outTradeNo;
 
    @ApiModelProperty(value = "微信支付订单号")
    private String transactionId;
 
    @ApiModelProperty(value = "充值金额")
    private BigDecimal amount;
 
    @ApiModelProperty(value = "实扣金额（当支付机构做满送营销活动时amount和fact_amount会不一致）")
    private BigDecimal factAmount;
 
    @ApiModelProperty(value = "当平台做满送营销活动时赠送余额")
    private BigDecimal giveAmount;
 
    @ApiModelProperty(value = "充值方式  0 公众号 1 APP  2小程序 默认0")
    private String rechargeType;
 
    @ApiModelProperty(value = "0充值 1退款")
    private String isRefund;
 
    @ApiModelProperty(value = "支付方式  0 微信支付  1支付宝 Z0中行微信 Z1中行支付宝 U银联支付 C农行支付 ZX中行微信清分支付")
    private String paymentType;
 
    @ApiModelProperty(value = "充值所属(默认0) 0.预充值 1.先付后退 2.支付分")
    private String paymentProperty;
 
    @ApiModelProperty(value = "到帐时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;
 
    @ApiModelProperty(value = "到帐状态 0未到帐   1已到帐 默认0")
    private String status;
 
    @ApiModelProperty(value = "null")
    private String createdBy;
 
    @ApiModelProperty(value = "null")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdTime;
 
    @ApiModelProperty(value = "null")
    private String lastUpdatedBy;
 
    @ApiModelProperty(value = "null")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedTime;
 
    public Long getRechargeOrderId() {
        return rechargeOrderId;
    }

    public void setRechargeOrderId(Long rechargeOrderId) {
        this.rechargeOrderId = rechargeOrderId;
    }

    public String getTenantCode() {
        return tenantCode;
    }

    public void setTenantCode(String tenantCode) {
        this.tenantCode = tenantCode;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public Long getOldRechargeOrderId() {
        return oldRechargeOrderId;
    }

    public void setOldRechargeOrderId(Long oldRechargeOrderId) {
        this.oldRechargeOrderId = oldRechargeOrderId;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public BigDecimal getAmount() {
        return amount;
    }

    public void setAmount(BigDecimal amount) {
        this.amount = amount;
    }

    public BigDecimal getFactAmount() {
        return factAmount;
    }

    public void setFactAmount(BigDecimal factAmount) {
        this.factAmount = factAmount;
    }

    public BigDecimal getGiveAmount() {
        return giveAmount;
    }

    public void setGiveAmount(BigDecimal giveAmount) {
        this.giveAmount = giveAmount;
    }

    public String getRechargeType() {
        return rechargeType;
    }

    public void setRechargeType(String rechargeType) {
        this.rechargeType = rechargeType;
    }

    public String getIsRefund() {
        return isRefund;
    }

    public void setIsRefund(String isRefund) {
        this.isRefund = isRefund;
    }

    public String getPaymentType() {
        return paymentType;
    }

    public void setPaymentType(String paymentType) {
        this.paymentType = paymentType;
    }

    public String getPaymentProperty() {
        return paymentProperty;
    }

    public void setPaymentProperty(String paymentProperty) {
        this.paymentProperty = paymentProperty;
    }

    public Date getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Date finishTime) {
        this.finishTime = finishTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getCreatedTime() {
        return createdTime;
    }

    public void setCreatedTime(Date createdTime) {
        this.createdTime = createdTime;
    }

    public String getLastUpdatedBy() {
        return lastUpdatedBy;
    }

    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public Date getLastUpdatedTime() {
        return lastUpdatedTime;
    }

    public void setLastUpdatedTime(Date lastUpdatedTime) {
        this.lastUpdatedTime = lastUpdatedTime;
    }

}
